/********************************************************************************
    Author :
********************************************************************************/

/********************************************************************************
    Include Files :
********************************************************************************/
#include "extern.h"
    #include "sdk_project_config.h"

#include "alloc.h"
   #include "Pwm.h"
/********************************************************************************
    Defination :
********************************************************************************/

/********************************************************************************
    Comment : The description of defination
********************************************************************************/

/********************************************************************************
    Type name :
********************************************************************************/

/********************************************************************************
    Comment : The description of type name
********************************************************************************/

/********************************************************************************
    Private variables :
********************************************************************************/

/********************************************************************************
    Comment : The description of private variables
********************************************************************************/

/********************************************************************************
    Private function declaration :
********************************************************************************/

/********************************************************************************
    Public function :
********************************************************************************/

/********************************************************************************
    Description :
        The description of this function
********************************************************************************/
PUBLIC FUNC(void,PWM_CODE) Pwm_vidInitFunction(void)
{
    /* Initialize PWM */
    PWM_Init(&pwm_pal_0_instance, &pwm_pal_0_configs);
    PWM_Init(&pwm_pal_2_instance, &pwm_pal_2_configs);
}

/********************************************************************************
    Description :
        Update the duty of PWM channel
********************************************************************************/
PUBLIC FUNC(void,PWM_CODE) Pwm_vidUpdateDuty(enuFTMChannel enuFtmChannel,uint32 u32Duty)
{
    switch (enuFtmChannel)
    {
        case ENU_FTM0_CHANNEL0:
            PWM_UpdateDuty(&pwm_pal_0_instance, pwm_pal_0_configs.pwmChannels[0].channel, u32Duty);
            break;
        case ENU_FTM0_CHANNEL1:
            PWM_UpdateDuty(&pwm_pal_0_instance, pwm_pal_0_configs.pwmChannels[1].channel, u32Duty);
            break;
        case ENU_FTM2_CHANNEL1:
            PWM_UpdateDuty(&pwm_pal_2_instance, pwm_pal_2_configs.pwmChannels[0].channel, u32Duty);
            break;
        default:
            break;
    }
}
/********************************************************************************
    Private function :
********************************************************************************/

/********************************************************************************
    Description :
        The description of this function
********************************************************************************/
